a0babaf2a45380df3457dfe20cadbac6c3cbbed5,src/org/jgroups/protocols/pbcast/FLUSH.java,FLUSH,handleStartFlush,#Message#FlushHeader#,485
Before Change
+ proceedFlushCoordinator);
}
if(sendRejectFlushMessage){
rejectFlush(fh.viewID, abortFlushCoordinator);
}
onStartFlush(proceedFlushCoordinator, fh);
}
After Change
}else{
if(flushCoordinator != null){
if(flushCompleted){
abortFlushCoordinator = flushRequester;
}
else if(flushRequester.compareTo(flushCoordinator) < 0){
abortFlushCoordinator = flushCoordinator;
flushCoordinator = flushRequester;
proceedFlushCoordinator = flushRequester;
}else if(flushRequester.compareTo(flushCoordinator) > 0){
abortFlushCoordinator = flushRequester;
proceedFlushCoordinator = flushCoordinator;
}else{
if(log.isDebugEnabled()){
log.debug("Rejecting flush at " + localAddress + ", previous flush has to finish first");
}
abortFlushCoordinator = flushRequester;
}
}else{
return;
}
}
}
if(proceed){
onStartFlush(flushRequester, fh);
} else{
if(log.isDebugEnabled()){
log.debug("Rejecting flush at " + localAddress
+ " to flush requester "
+ abortFlushCoordinator
+ " coordinator is "
+ proceedFlushCoordinator);
}
rejectFlush(fh.viewID, abortFlushCoordinator);
if(proceedFlushCoordinator != null)
onStartFlush(proceedFlushCoordinator, fh);
}